package util

// Gin 框架页面模板可用方法定义

import (
	"html/template"
	"strconv"
	"time"
)

var ginFuncMap template.FuncMap = make(template.FuncMap)

func init() {
	ginFuncMap["fmtYmd"] = fmtYmd
	ginFuncMap["sfmtYmd"] = sfmtYmd
	ginFuncMap["fmtYmdHis"] = fmtYmdHis
	ginFuncMap["getSerialNum"] = getSerialNum
	ginFuncMap["iToStr"] = iToStr
}

//格式化日期  2018-01-01
func fmtYmd(t time.Time) string {
	if t != (time.Time{}) {
		return t.Format(DateFormat)
	}
	return ""
}

//格式化为 日期时间格式  2018-01-01 10:00:00
func fmtYmdHis(t time.Time) string {
	if t != (time.Time{}) {
		return t.Format(DateTimeFormat)
	}
	return ""
}

//将字符串型的时间格式化
func sfmtYmd(s string) string {
	t, err := time.Parse(DateTimeFormat, s)
	if err != nil {
		return s
	}

	return fmtYmd(t)
}

//数字转字符串
func iToStr(i int) string {
	return strconv.Itoa(i)
}

//页面序号+1
func getSerialNum(idx int) int {
	return idx + 1
}

//页面可使用方法集合
func GetFuncMap() template.FuncMap {
	return ginFuncMap
}
